#ifndef SOUNDSYSTEMFMOD_H
#define SOUNDSYSTEMFMOD_H

#include "soundsystem.h"

#include <QString>
#include <QHash>
#include <fmod.h>
#include <fmod_errors.h>

class SoundSystemFMOD : public SoundSystem
{
public:
   static void create();
   virtual bool playSound(const SFX_TYPE sfx);
   virtual bool mute(bool value);

protected:
   SoundSystemFMOD();
   ~SoundSystemFMOD();
   void createSounds();
   void releaseSounds();

   FMOD_SOUND* loadSound(const QString &filename);
   FMOD_SYSTEM *mSystem;
   QHash<SFX_TYPE, FMOD_SOUND *> mSounds;
};

#endif
